In modern telecommunication systems, a call-processing subsystem is responsible for processing call requests received from the network. Call requests are received by the call-processing subsystem via signaling messages. For instance, in a wireless communications network, a voice and/or data call request from a mobile station is sent as an air interface message to a serving base station, which in turn transmits the air interface message to a mobile switching center (MSC) via signaling links connecting the base station to the MSC. The call request is processed in the call-processing subsystem of the MSC.
Traditionally, the call-processing subsystem consumes the largest portion of the processing power of any call processing telecommunication node. For example, such call processing telecommunication nodes include any type of wireline switch, wireless switch (MSC), router or call server. In many cases, no less than 80% of the processing power is dedicated to call processing. In addition, the call-processing subsystem is one of the most important parts of a telecommunication node. Therefore, in order to maintain stability, the call-processing subsystem requires a high level of protection when the system becomes overloaded with call requests.
In order to provide larger capacity and scalability, conventional call-processing subsystems have recently been designed as distributed computing environments in which processing power is provided by multiple processing nodes. A distributed call processing system presents a higher degree of challenge to overload control design because coordination is required between multiple processing nodes. Providing effective, efficient, real-time overload control in distributed processing environments has become an important issue for call-processing subsystem design.
Conventional overload control systems either focus on a single processing node or do not take into account the load factor of other processing nodes. Thus, overload control tends to be exercised on a single processing node in isolation from other processing nodes. As a result, conventional distributed call-processing subsystems tend to react to overload conditions in an inefficient and ineffective manner. For instance, one processing node may shed work while others remain idle.
Furthermore, the reaction to an overload condition by conventional distributed call-processing subsystems tends to be fixed among all processing nodes and for all signaling message types, making it difficult to implement different reaction behaviors to overload conditions during system operation.
Therefore, there is a need in the art for an improved overload control apparatus and method for use in a distributed processing environment.